package thread;
class MyThread extends Thread{
    @Override//注解，相当于提示编译器，进行更严格的检查
    public void run() {//run方法的作用仅仅是描述了这个线程是用来干嘛的
        //run不是start调用的，run是start创建出来的线程，线程里调用的（回调函数）
        System.out.println("hello thread");
    }
}//自己记录任务是啥
public class Demo1 {
    public static void main(String[] args) throws InterruptedException {//      自动创建主线程main线程
//      Thread t = new Thread();
        Thread t = new MyThread();

        //创建t线程，两个线程并发执行，多个线程的调度顺序是无序的（抢占式执行，随机性大）
        t.start();//调用操作系统提供的“创建线程”api在内核中创建对应的pcb，并且把pcb加入到链表中。进一步的系统调度到这个线程了之后就会执行上述run方法中的逻辑

        t.sleep(200);//线程休眠进入阻塞状态，200毫秒


    }
}
